Pourquoi faire le choix de réaliser ses graphiques sous R ?
Avril 2019
Pourquoi faire le choix de réaliser ses graphiques sous R ?
Les 4 systèmes graphiques en R
Quelle stratégie adopter pour représenter mes données ?
Stratégie de mise en oeuvre rapide
Focus sur deux système : ggplot et plotly
Cartographie
Construction de graphiques animés
Construction d’applications
Comment être efficace - construire mon graphique
Nous allons aborder la réalisation de graphique en 4 étapes :
Connaître les 4 systèmes graphiques
Les options de personnalisations
Les règles sémiologie graphique / bonnes pratiques
Utiliser des outils d’autres disciplines pour être plus efficace
ROpenSciLes 4 systèmes graphiques sous R
Base graphics : le plus simple à apprendreGrid graphics : ensemble de modules puissants pour construire d’autres outilsLattice graphics : système à caractère général basé sur Gridggplot2 : basé sur “grammar of graphics”Base graphics
graphics::plot(ChickWeight)
graphics::plot(ChickWeight$weight)
Sunflowerplotboxplotmosaic plotLes graphiques R de base peuvent être construits grâce à deux types de fonctions :
fonctions de haut niveau
plot()fonctions de bas niveau
lines()text()points()par()par(mfrow = c(1,2))
Affichage :
par()par(mfrow = c(2, 3))
bagplot() : exemples
Grid graphics
Grid graphicsLe package lattice
latticesource : Datacamp
latticelattice" - use high-level functions such as histogram(), xyplot() …
- optional arguments for common variants
- But it’s not possible to anticipate all variants
- Need some system to design nex visualizations
"
Deepayan Sarkar
lattice~ x : premier argumentdata : le dataset qui contient les variableslatticeOn retrouve les graphiques usuels de Base
histogram( ~ wt, data = mtcars)
(nb : percent et pas freq)
Le package permet de créer des objets qui pourront être appelés.
tplot <- densityplot(~rate.male + rate.female,
data = USCancerRates, outer = T)
class(tplot)
## [1] "trellis"
tplot <- densityplot(~rate.male + rate.female | state,
data = USCancerRates, outer = T)
head(summary(tplot)[[2]])
##
## state rate.male rate.female
## Alabama 67 67
## Alaska 20 20
## Arizona 15 15
## Arkansas 75 75
## California 57 57
## Colorado 56 56
Il faut voir cet objet comme un array
tplot <- densityplot(~rate.male + rate.female | state,
data = USCancerRates, outer = T)
dim(tplot)
## [1] 49 2
On peut ensuite mettre à jour un argument grâce à la fonction update()
Le package ggplot2
ggplot2ggplot2tidyverseggplot2ggplot2 ?qplot() et ggplot()ggplot2 ?library(ggplot2) ggplot(data = mtcars)+ geom_point(mapping = aes(x = mpg, y = hp))
Le package esquisse
install.packages("esquisse")
library(esquisse)
corrplotlibrary(corrplot)
correlation <- cor(mtcars) # Fonction du package corrplot corrplot(correlation,method = "ellipse")
Règles de datavisualisation
Un article intéressant : Interview C.Bontemps
Des graphiques interactifs : une introduction
plotlyPermet de rendre un graphique ggplot2 interactif.
Peut être utilisé seul pour des options de customisation plus avancée
plotlylibrary(dplyr) mtcars %>% ggplot(aes(x = mpg, y = disp, color = factor(cyl))) + geom_point()
plotlyTrouver rapidement des outils de personnalisation
(https://neocarto.hypotheses.org/1458)
(https://coolors.co/) générateur de palette de couleur (http://chir.ag/projects/name-that-color/#ED616A) nommer la couleur
(http://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3) site ColorBrewer
(https://flatuicolors.com/) Choisir une couleur
Récapitulatif
ggplot2base R graphics et lattice